//
//  Person.h
//  02-ClassAndObject
//
//  Created by dllo on 16/7/5.
//  Copyright © 2016年 yh. All rights reserved.
//

#import <Foundation/Foundation.h>

@interface Person : NSObject

// 大括号中包含的是成员变量(实例变量)
{
    // @protected 受保护的 本类子类
    // @public 公开的 外界也可以访问
    // @private 私有的 只有本类可以访问
    // @package 一般系统内部使用 很少用
    //    @protected
    @public
    NSString *_name;
    @public
    NSInteger _age;
}

// 方法分为两种 + (类方法 由类来调用) - (实例方法 由实例变量调用)
void func(int a); // C语言函数声明 返回值 方法名(参数列表)
- (void)sleep:(NSInteger)time; // 实例方法的声明 返回值类型 方法名: 参数列表

// setter 方法 赋值
- (void)setName:(NSString *)name;

// getter 方法
- (NSString *)name;

// 初始化方法
// 1. + - 号后要有空格
// 2. init后要驼峰命名
// 3. 参数名首字母小写 后续单词遵循驼峰命名法(小驼峰)
// 4. 参数之间可以使用回车 另其对齐

- (instancetype)initWithName:(NSString *)name age:(NSInteger)age;

- (instancetype)initWithName:(NSString *)name;

- (instancetype)initWithAge:(NSInteger)age;

+ (instancetype)personWithName:(NSString *)name age:(NSInteger)age;








@end
